-
Notifications
You must be signed in to change notification settings - Fork 404
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WiP] Build on OSX (#3) #25
Conversation
void create_directories(path p) { | ||
mode_t nMode = 0733; // UNIX style permissions | ||
int nError = 0; | ||
#if defined(_WIN32) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
obviously not necessary...
@@ -293,6 +300,7 @@ plugincommon() | |||
files { | |||
"src/vst2/**.cpp", | |||
"src/vst2/**.h", | |||
"VST_SDK_2.4/public.sdk/source/vst2.x/**.cpp", | |||
"vst3sdk/public.sdk/source/vst2.x/**.cpp", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this does not actually include anything to solve VST 2 compilation, does it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@kzantow how does one incorporate vstsdk2.4 and vst3sdk into the mix, they don't seem to be a part of this repo. do they require a secondary install?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
git submodule init
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's not perfect. unclear licensing etc. it seems that Steinb0rg has completely dropped support for VST 2, which I have no idea how the license plays out in that case. but i found some stuff to make it work, barring being taken down
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, I was able to find a VST2.4SDK from somewhere and am linking to it outside the repo, for now, hoping to get a Surge.vst to compile and be able to do a tracktion/pluginval
run on it just to find out if it can actually work with macOSX.
@@ -20,7 +20,7 @@ using namespace std; | |||
#if __linux | |||
#include <experimental/filesystem> | |||
#else | |||
#include <filesystem> | |||
#include <filesystem.h> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It tries to include the filesystem from c++17 or 14 right?
Maybe something else is broken if it's not recognised by any hosts? The build I did (albeit with LLVM) is working (mostly) without issue in Live 10, Reaper and Cubase 9.5 |
@asimilon hold on - did you actually get a VST2/VST3/AU out of this PR where you could run it with Live10? If so, how? I'm stuck in AU-town with Xcode and am getting |
@esaruoho I got a mostly working VST2 to build which works under Cubase 9.5, I would assume it will work with Live 10 |
@esaruoho only building VST2 at the moment |
@esaruoho I got a working VST2 build on macOS. None of the context menus work, and I patched a crash when trying to do anything with presets, otherwise it works in all the hosts I tried. |
@kzantow I used the homebrew clang to get it to compile and run, more or less as is (no need for the |
@asimilon did you push a PR with the crash fix? :) since the macOS 64 bit audiounit can work now, i'm attempting to link a VST2.4SDK into this mix and get a VST2 out, hoping Renoise and other apps will load it. |
one more thing.. I wasn't able to find clang with what am i missing? i've bookmarked your branch |
@esaruoho |
@asimilon hi, do you have some sort of a list of which things were necessary in the Xcode Project to get it going? Maybe some of them can be done somehow into I can sympathise with not wanting to update, but would love to see if could use the "the changes necessary in the xcode project" info to modify premake5 and get it going on a newer version of xcode. I don't mind at all having |
@asimilon one thing of note: XCode 10 has removed 32-bit support, so if there's any desire to provide a universal or individually built 32-bit binary, it has to be with XCode 9. I downgraded after I learned this... |
@asimilon well, I built your branch
And, like before it seems to be the right architecture:
|
... and commenting on this PR is really the wrong place for this discussion, but I am also unable to get AU to load in AU Lab... :-/ |
@kzantow did you attempt to nuke the AU Cache?
|
I just had a look and I don't have that folder (I don't have/use Logic). Only tried AU Lab, which doesn't show the plugin. I actually just reinstalled OSX fresh on this 2nd Mac and upgraded to Mojave (I also am building on High Sierra with the same issue). I built @asimilon 's branch with |
Hmm, well a different thing when trying to debug this in REAPER:
Note |
... I think the wrong architecture thing was a red herring. grr. I'm such a C++ noob. :) |
🤦♂️ |
Afraid I don't. Off the top of my head it was stuff like setting the If you know of a decent reference for premake5 and XCode it would be useful, the official documentation is lacking to say the least! |
Okay, I figured out why Surge doesn't work for me. Finally. It's not exporting the $ nm -gU products/Surge.vst/Contents/MacOS/Surge | grep VSTPluginMain
0000000000079e70 T __Z13VSTPluginMainPFxP7AEffectiixPvfE Whereas my own plugin has: $ nm -gU ~/Library/Audio/Plug-Ins/VST/osc.vst/Contents/MacOS/osc |grep VSTPluginMain
00000000000024e0 T _VSTPluginMain This is what the VSTPluginMain definition looks like after I even coded it up directly (in vst2 sdk / ... / #define EXPORT __attribute__((visibility("default")))
EXPORT void* VSTPluginMain(audioMasterCallback audioMaster)
{
// when debugging, this is never called; library debug reports NULL for VSTPluginMain symbol lookup
} What am I doing wrong? |
As discussed in surge-synthesizer#25, set up a directory structure for assets which would allow multiple skins in the future. Pull in the assets that @kurasu checked in 2 weeks ago in a subdir; and set up the basic directory for folks to start making the "original" skin.
[WiP] Build on OSX (surge-synthesizer#3) Former-commit-id: cd44922
Well, I got this compiling on OSX (fixing #3) without the need for LLVM (and yes, probably bugs that need fixing in the filesystem stuff).
But then update to master broke it all, again. sighThis only helps VST2 and it's still not recognized by any hosts...